package com.smartscreen.attendancemanage.service;

import com.smartscreen.attendancemanage.dto.ApprovalLeaveRequest;
import com.smartscreen.attendancemanage.dto.CreateLeaveApplicationRequest;
import com.smartscreen.attendancemanage.dto.LeaveApplicationWithStudentInfoDTO;
import com.smartscreen.attendancemanage.entity.LeaveApplication;

import java.util.List;

public interface LeaveApplicationService {
    
    String createLeaveApplication(CreateLeaveApplicationRequest request);
    
    List<LeaveApplication> getPendingApplications();
    
    // 新增：获取包含学生信息的待审批申请
    List<LeaveApplicationWithStudentInfoDTO> getPendingApplicationsWithStudentInfo();
    
    void approveLeaveApplication(String applicationId, ApprovalLeaveRequest request);
    
    // 新增：根据学生ID获取请假申请
    List<LeaveApplicationWithStudentInfoDTO> getApplicationsByStudentId(String studentId);
}